Skip to content

Conversation

feltech
Copy link
Member

@feltech feltech commented Aug 27, 2025

Add first draft of a UI delegate plugin. This is functional, but limited, and could be cleaner. Ideally work will be done upstream in FPT to make this easier.

Provide asset browsers fo both published files and workfiles.

Workfiles are a particular pain point, since they cannot be queried from the server, i.e. they just exist on disk in strictly structured paths.

Opening a workfile also triggers several FPT processes, and so we can't simply return a reference to the host application. Future work will have the manager plugin trigger these processes only once the workfile is resolved, via some mechanism to signal to FPT that the workfile is being resolved with the intention of opening it in a DCC (e.g. via the Context.locale).

Provide an entity info panel showing asset information about the selected entity. This is an interesting case since it relies on the host asynchronously communicating the currently selected entity to the delegated UI element.

Only read cases supported - i.e. no publishing support - at the moment.

Due to the need to import sgtk apps at runtime, many classes must be defined inline. Alternative strategies exist, but this is left for future work.

Since we're adapting pre-existing widgets, several overrides and fixes must be applied. In particular, we use a "widget stash" to keep FPT widgets alive as long as possible, to avoid issues with QThreads being destroyed without proper cleanup.

Bump minimum version of OpenAssetIO to 1.0.0, where the UI delegation API is available; and MediaCreation to alpha.12, where some UI-specific traits are defined.

@feltech feltech requested a review from hutchinson August 27, 2025 17:46
@feltech feltech self-assigned this Aug 27, 2025
@feltech feltech force-pushed the work/uiDelegation branch from 5a44d9b to f48d750 Compare August 27, 2025 17:47
Add first draft of a UI delegate plugin. This is functional, but
limited, and could be cleaner. Ideally work will be done upstream in
FPT to make this easier.

Provide asset browsers fo both published files and workfiles.

Workfiles are a particular pain point, since they cannot be queried from
the server, i.e. they just exist on disk in strictly structured paths.

Opening a workfile also triggers several FPT processes, and so we can't
simply return a reference to the host application. Future work will have
the manager plugin trigger these processes only once the workfile is
resolved, via some mechanism to signal to FPT that the workfile is
being resolved with the intention of opening it in a DCC (e.g. via the
Context.locale).

Provide an entity info panel showing asset information about the
selected entity. This is an interesting case since it relies on the
host asynchronously communicating the currently selected entity to the
delegated UI element.

Only read cases supported - i.e. no publishing support - at the moment.

Due to the need to import sgtk apps at runtime, many classes must be
defined inline. Alternative strategies exist, but this is left for
future work.

Since we're adapting pre-existing widgets, several overrides and fixes
must be applied. In particular, we use a "widget stash" to keep FPT
widgets alive as long as possible, to avoid issues with QThreads being
destroyed without proper cleanup.

Bump minimum version of OpenAssetIO to 1.0.0, where the UI delegation
API is available; and MediaCreation to alpha.12, where some UI-specific
traits are defined.

Signed-off-by: David Feltell <[email protected]>
@feltech feltech force-pushed the work/uiDelegation branch from f48d750 to 046d6a1 Compare August 27, 2025 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant